package com.link2room.rodimus.facade;

import com.link2room.common.jpa.result.QueryResult;
import com.link2room.rodimus.dto.param.api.CreateNewExpressParamDto;
import com.link2room.rodimus.dto.param.api.CurrentUserExpressListParamDto;
import com.link2room.rodimus.dto.param.api.ExpressListParamDto;
import com.link2room.rodimus.dto.param.api.ExpressUpdateParamDto;
import com.link2room.rodimus.dto.param.base.ExpressBaseDto;
import com.link2room.rodimus.dto.param.inside.ExpressFindInsideParamDto;
import com.link2room.rodimus.dto.param.inside.ExpressNewInsideParamDto;

/**
 * Created by LN on 2017/7/28.10:32
 */
public interface IExpressFacadeService {
    @Deprecated
    void newExpress(CreateNewExpressParamDto paramDto) throws Exception;

    /**
     * 新建发货信息
     * @param paramDto
     * @return
     * @throws Exception
     */
    ExpressBaseDto newInsideExpress(ExpressNewInsideParamDto paramDto) throws Exception;

    QueryResult currentUserExpressList(CurrentUserExpressListParamDto paramDto) throws Exception;

    QueryResult expressList(ExpressListParamDto paramDto) throws Exception;

    /**
     * 发货状态更新
     * @param paramDto
     */
    void updateExpress(ExpressUpdateParamDto paramDto) throws Exception;

    QueryResult<ExpressBaseDto> findExpressBaseDtos(ExpressFindInsideParamDto paramDto) throws Exception;
}
